package com.lmoumou.lib_calendarview.utils

import android.annotation.SuppressLint
import java.text.ParseException
import java.text.SimpleDateFormat
import java.util.*

/**
 * 作者：Lmoumou
 * 时间：2019/4/28 10:07
 *
 * 时间转换类
 */

const val FORMAT_YMD_ONE = "yyyy-MM-dd"

object TimeUtils {

    /**
     * 时间戳转指定时间格式
     *
     * @param timeMillis 时间戳
     * @param format 时间格式
     * @return
     * */
    @SuppressLint("SimpleDateFormat")
    fun long2Str(timeMillis: Long, format: String = FORMAT_YMD_ONE): String {
        val dateFormat: SimpleDateFormat = SimpleDateFormat(format)
        return dateFormat.format(timeMillis)
    }

    /**
     * 日期转时间戳
     *
     * @param dateStr 日期
     * @param format 格式
     * @return
     * */
    fun str2Long(dateStr: String, format: String = FORMAT_YMD_ONE): Long {
        try {
            val dateFormat = SimpleDateFormat(format, Locale.CHINA)
            val parse = dateFormat.parse(dateStr)
            return parse.time
        } catch (e: ParseException) {
            e.printStackTrace()
        }
        return 0
    }

    /**
     * string转Date
     * */
    @SuppressLint("SimpleDateFormat")
    fun strToDate(strTime: String, formatType: String = FORMAT_YMD_ONE): Date {
        val formatter = SimpleDateFormat(formatType)
        return formatter.parse(strTime)
    }
}